package com.berchen.listener;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.berchen.common.busidb.model.BillExcelVo;
import com.berchen.common.busidb.model.BillVo;
import org.springframework.beans.BeanUtils;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;

/**
 * 监听器  用来监听读取Excel数据的  bill
 */
public class BusiExcelListener extends AnalysisEventListener<BillExcelVo> {

    // 用来保存 每行读取的数据 这里操作的集合和controller操作的是同一个 所以controller哪里可以拿到这里添加的数据
    private List<BillVo> bills;

    public BusiExcelListener(List<BillVo> bills) {
        this.bills=bills;
    }

    // 一行一行的读取 从第二行进行读取
    @Override
    public void invoke(BillExcelVo billExcelVo, AnalysisContext analysisContext) {
        BillVo bill = new BillVo();
        BeanUtils.copyProperties(billExcelVo,bill);
//        String[] split = bill.getCreateDate().split("\\.");
//        bill.setCreateDate("2021-"+(split[0].length()==1?("0"+split[0]):split[0])+"-"+(split[1].length()==1?("0"+split[1]):split[1]));
        // 将中文值设置为数据
        bill.setType(bill.getTypeStr().equals("支出")?0:1);
        bills.add(bill);
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }
}
